package com.owc.domain.vo.admin;

import com.owc.common.converter.InputConverter;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * @Author xiaom
 * @Date 2020/2/28 13:49
 * @Version 1.0.0
 * @Description <>
 **/
@Data
@ApiModel("产品入参")
public class ProductModel implements Serializable {

    @ApiModelProperty("产品名称")
    @NotNull(message = "请输入产品名称")
    @Size(max = 15,message = "请输入1-15字产品名称")
    private String name;

    @ApiModelProperty("年化收益率")
    @NotNull(message = "年化收益率不能为空")
    private BigDecimal rate;
    /**
     * {@link com.owc.common.enums.CycleType}
     */
    @ApiModelProperty("投资期限类型 10(天) 20(年)")
    @NotNull(message = "请选择投资期限单位")
    private Integer cycleType;

    @ApiModelProperty("投资期限")
    @NotNull(message = "投资期限不能为空")
    private Integer cycle;

    /**
     * 单笔购买上限
     */
    @ApiModelProperty("单笔购买上限")
    @NotNull(message = "单笔购买上限不能为空")
    private BigDecimal buyMax;

    /**
     * 单笔购买起购
     */
    @ApiModelProperty("单笔购买起购")
    @NotNull(message = "单笔购买起购不能为空")
    private BigDecimal buyMin;

    /**
     * 收益币种名称
     */
    @ApiModelProperty("收益币种名称")
    @NotNull(message = "收益币种名称不能为空")
    private String incomeName;

    /**
     * 附加参数
     */
    @ApiModelProperty("附加参数")
    @NotNull(message = "附加参数不能为空")
    private String attach;

    /**
     * 产品标签
     */
    @ApiModelProperty("产品标签(多个逗号隔开)")
    private String tags;

    /**
     * 收益说明
     */
    @ApiModelProperty("收益说明")
    private String incomeDesc;

    /**
     * 产品介绍
     */
    @ApiModelProperty("产品介绍")
    private String introduction;

    /**
     * 赎回说明
     */
    @ApiModelProperty("赎回说明")
    private String recycleDesc;

    /**
     * 排序
     */
    @ApiModelProperty("排序")
    @NotNull(message = "排序字段不能为空")
    private Integer order;

    @ApiModelProperty("状态 1(上架) -1(下架) 5(前台隐藏) 10(售完)")
    @NotNull(message = "状态不能为空")
    private Integer status;

    @ApiModelProperty("投资币种")
    @NotNull(message = "投资币种不能为空")
    private String tokenName;

}
